package com.sun.test;

/**
 * 分支结构:
 *      单分支结构：
 *           只做单一条件的判断，如果符合，做某些事情
 *      双分支结构：
 *            当作条件判断的时候，只有两种选择
 *      多分支结构：
 *             可以进行多个条件的判断，每个匹配项可以选择不同的执行结果
 *      嵌套分支结构：
 *              在分支结构中嵌套分支结构
 *      switch多分支结构：
 *              一般用作等值判断
 */
public class IfDemo {
    public static void main(String[] args) {
        //但分支判断，Math.random()产生的数据范围[0,1)
        //得到0-5之间的随机数
       /* int i=(int)(Math.random()*6);
        if(i>3){
            System.out.println("值大于3");
        }
        System.out.println("i="+i);*/
        /*double i=Math.random()*6;
        double j=Math.random()*6;
        double k=Math.random()*6;
        int count=(int)(i+j+k);
        if(count>15){
            System.out.println("今天手气不错");
        }
        if(count>=10 && count<=15){
            System.out.println("今天手气很一般");
        }
        if(count<10){
            System.out.println("今天手气不怎样");
        }
        System.out.println("得了"+count+"分");*/
        //双分支结构
        /*double r=1.5;
        final double PI=3.14;
        double s=PI*r*r;
        double c=2*PI*r;
        if(s>=c){
            System.out.println("面积大于周长");
        }else{
            System.out.println("周长大于面积");
        }*/
        //创建文件扫描器对象，System.in表示标准输入，可以从控制台读取数据(装饰器模式)
        //leetcode刷算法
       /* boolean a=true;
        boolean b=false;
        if (!(a&&b)) {
            System.out.print("!(a&&b)");
        }else if (!(a||b)) {
            System.out.println("!(a||b)");
        }else {
            System.out.println("ab");
        }*/
        /*int i = 0, sum = 0;
        while (i <= 10) {
            sum += i;
            i++;
            if (i % 2 == 0)
                continue;
        }
        System.out.println(sum);*/
       /* int i = 1;
        int sum = 0;
        while (i <= 100) {
            if (i % 2 == 0)
                sum = sum + i;
            i++;
        }
        System.out.println(sum);*/
       /* int sum=0;
        for (int x =0; x<=100;x+=2){ sum=sum+x;}
        System.out.println(sum);*/
       /* int a=0;
        int c=0;
        do{
            --c;
            a=a-1;
        }while(a>0);
        System.out.println(a+"  "+c);*/
        /*for(int i=0;i<10;i++){
            if (i%2!=0)
                return;
            System.out.print(i);
        }*/

        /*
        * 多分支结构:
        * 根据年龄判断人处于哪个时期
        * */
        int age=(int)(Math.random()*101);
        if (age<10){
            System.out.println("儿童");
        }else if(age<20){
            System.out.println("少年");
        }else if(age<30){
            System.out.println("青年");
        }else if(age<50){
            System.out.println("中年");
        }else if(age<70){
            System.out.println("老年");
        }else{
            System.out.println("耄耋");
        }
        /*
        * 嵌套分支结构
        * 20秒以内可以进入决赛，如果是男生，就进入男子组，如果是女生就进入女子组
        * */
        int time=(int)(Math.random()*40);
        if(time<=20){//进入决赛
            String sex=((int)(Math.random()*2))==0?"girl":"boy";
            if(sex=="boy"){
                System.out.println("欢迎进入男子组");
            }else{
                System.out.println("欢迎进入女子组");
            }
        }else{//被淘汰
            System.out.println("成绩太差，被淘汰");
        }
        /*
        * switch多分支结构：
        * 注意：
        *   1、每个case模块中都要添加break,防止多次匹配
        *   2、如果多个case模块中处理的逻辑代码的功能一致，可以考虑只在最后添加一次处理
        *   3、default表示默认选项，当所有的case不匹配的时候，会执行此选项
        *   4、default可以有，也可也没有
        * 根据产生的26个英文字母，判断是否是元音字母
        * */
       int random= (int)(Math.random()*26);
       char ch=(char)('a'+random);
       switch (ch){
           /*case 'a':
               System.out.println("元音:"+ch);
               break;
           case 'e':
               System.out.println("元音:"+ch);
               break;
           case 'i':
               System.out.println("元音:"+ch);
               break;
           case 'o':
               System.out.println("元音:"+ch);
               break;
           case 'u':
               System.out.println("元音:"+ch);
               break;
           case 'y':
               System.out.println("半元音:"+ch);
               break;
           case 'w':
               System.out.println("半元音:"+ch);
               break;
           default:
               System.out.println("辅音："+ch);*/
           //逻辑代码的功能一致，更改
           case 'a':
           case 'e':
           case 'i':
           case 'o':
           case 'u':
               System.out.println("元音:"+ch);
               break;
           case 'y':
           case 'w':
               System.out.println("半元音："+ch);
               break;
           default:
               System.out.println("辅音："+ch);
       }
    }

}
